﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Forma5 : System.Web.UI.Page
{
    private String SessionID;
    private Boolean FolioExists;
    private Int32 Folio;
    public String ConnectionString;

    protected void Page_Load(object sender, EventArgs e)
    {
        SessionValidation();

        // Se verifíca si existe un Folio actual para cargar los datos
        // que han sido previamente guardados
        DatabaseConnection dbCon = new DatabaseConnection();
        FolioExists = dbCon.FolioExistsForCurrentUser(ref Folio, SessionID);
        PropiedadesDataSource.ConnectionString = dbCon.GetConnectionString();
        VehiculosDataSource.ConnectionString = dbCon.GetConnectionString();
        dbCon.CloseConnection();
        if (FolioExists && !Page.IsPostBack)
        {
            //LoadFormWithPastData();
        }
    }


    protected void ListView1_ItemCommand(object sender, ListViewCommandEventArgs e)
    {
        if (e.CommandName == "Insert")
        {
            TextBox txtFechaAdquisicion = (TextBox)e.Item.FindControl("txtFechaAdquisicion");
            TextBox txtDescripcion = (TextBox)e.Item.FindControl("txtDescripcion");
            TextBox txtSuperficie = (TextBox)e.Item.FindControl("txtSuperficie");
            TextBox txtValorComercial = (TextBox)e.Item.FindControl("txtValorComercial");
            TextBox txtCantidadAdeudo = (TextBox)e.Item.FindControl("txtCantidadAdeudo");
            TextBox txtPlazo = (TextBox)e.Item.FindControl("txtPlazo");
            TextBox txtPagoMensual = (TextBox)e.Item.FindControl("txtPagoMensual");

            string insertCommand = "Insert into [Propiedades] ([Folio] ,[Propiedades_FechaAdquisicion] ,[Propiedades_Descripcion] ,[Propiedades_SuperficialConstruida] ,[Propiedades_ValorComercial] ,[Propiedades_CantidadAdeudo] ,[Propiedades_Plazo] ,[Propiedades_PagoMensualRenta]) "
                                                     + "Values(" + Folio + ",'" + txtFechaAdquisicion.Text + "', '" + txtDescripcion.Text + "', '" + txtSuperficie.Text + "', " + txtValorComercial.Text + ", " + txtCantidadAdeudo.Text + ", " + txtPlazo.Text + ", " + txtPagoMensual.Text + ");";
            //Agregar el Folio al query
            PropiedadesDataSource.InsertCommand = insertCommand;
        }
        else if (e.CommandName == "Update")
        {
            TextBox IdPropiedades = (TextBox)e.Item.FindControl("txtUpIdPropiedades");
            TextBox txtUpFechaAdquisicion = (TextBox)e.Item.FindControl("txtUpFechaAdquisicion");
            TextBox txtUpDescripcion = (TextBox)e.Item.FindControl("txtUpDescripcion");
            TextBox txtUpSuperficie = (TextBox)e.Item.FindControl("txtUpSuperficie");
            TextBox txtUpValorComercial = (TextBox)e.Item.FindControl("txtUpValorComercial");
            TextBox txtUpCantidadAdeudo = (TextBox)e.Item.FindControl("txtUpCantidadAdeudo");
            TextBox txtUpPlazo = (TextBox)e.Item.FindControl("txtUpPlazo");
            TextBox txtUpPagoMensual = (TextBox)e.Item.FindControl("txtUpPagoMensual");
            string updateCommand = "Update [Propiedades] set "
                                   + "[Propiedades_FechaAdquisicion]='" + txtUpFechaAdquisicion.Text + "', "
                                   + "[Propiedades_Descripcion]='" + txtUpDescripcion.Text + "', "
                                   + "[Propiedades_SuperficialConstruida]='" + txtUpSuperficie.Text + "', "
                                   + "[Propiedades_ValorComercial]=" + txtUpValorComercial.Text + ", "
                                   + "[Propiedades_CantidadAdeudo]=" + txtUpCantidadAdeudo.Text + ", "
                                   + "[Propiedades_Plazo]=" + txtUpPlazo.Text + ", "
                                   + "[Propiedades_PagoMensualRenta]=" + txtUpPagoMensual.Text + " "
                                   + "WHERE [IdPropiedades] = " + IdPropiedades.Text + " AND [Folio]=" + Convert.ToInt32(Folio) + ";";//Poner el folio de la sesion;
            PropiedadesDataSource.UpdateCommand = updateCommand;
        }
        else if (e.CommandName == "Delete")
        {
            TextBox IdPropiedades = (TextBox)e.Item.FindControl("txtUpIdPropiedades");
            string deleteCommand = "DELETE FROM [Propiedades] where [IdPropiedades]=" + Convert.ToInt32(IdPropiedades.Text);
            PropiedadesDataSource.DeleteCommand = deleteCommand;
        }
    }

    protected void ListView2_ItemCommand(object sender, ListViewCommandEventArgs e)
    {
        if (e.CommandName == "Insert")
        {
            TextBox txtPropietario = (TextBox)e.Item.FindControl("txtPropietario");
            TextBox txtMarca = (TextBox)e.Item.FindControl("txtMarca");
            TextBox txtModelo = (TextBox)e.Item.FindControl("txtModelo");
            TextBox txtValorComercial = (TextBox)e.Item.FindControl("txtValorComercial");
            TextBox txtCantidadAdeudo = (TextBox)e.Item.FindControl("txtCantidadAdeudo");
            TextBox txtPlazo = (TextBox)e.Item.FindControl("txtPlazo");
            TextBox txtPagoMensual = (TextBox)e.Item.FindControl("txtPagoMensual");

            string insertCommand = "INSERT INTO [Vehiculos] ([Folio], [Vehiculo_Propietario], [Vehiculo_Marca], [Vehiculo_Modelo], [Vehiculo_ValorComercial], [Vehiculo_CantidadAdeudo] ,[Vehiculo_Plazo] ,[Vehiculo_PagoMensual]) "
                                                     + "VALUES(" + Folio + ",'" + txtPropietario.Text + "', '" + txtMarca.Text + "', '" + txtModelo.Text + "', " + txtValorComercial.Text + ", " + txtCantidadAdeudo.Text + ", " + txtPlazo.Text + ", " + txtPagoMensual.Text + ");";
            //Agregar el Folio al query
            VehiculosDataSource.InsertCommand = insertCommand;
        }
        else if (e.CommandName == "Update")
        {
            TextBox IdVehiculos = (TextBox)e.Item.FindControl("txtUpIdVehiculos");
            TextBox txtUpPropietario = (TextBox)e.Item.FindControl("txtUpPropietario");
            TextBox txtUpMarca = (TextBox)e.Item.FindControl("txtUpMarca");
            TextBox txtUpModelo = (TextBox)e.Item.FindControl("txtUpModelo");
            TextBox txtUpValorComercial = (TextBox)e.Item.FindControl("txtUpValorComercial");
            TextBox txtUpCantidadAdeudo = (TextBox)e.Item.FindControl("txtUpCantidadAdeudo");
            TextBox txtUpPlazo = (TextBox)e.Item.FindControl("txtUpPlazo");
            TextBox txtUpPagoMensual = (TextBox)e.Item.FindControl("txtUpPagoMensual");
            string updateCommand = "Update [Vehiculos] set "
                                   + "[Vehiculo_Propietario]='" + txtUpPropietario.Text + "', "
                                   + "[Vehiculo_Marca]='" + txtUpMarca.Text + "', "
                                   + "[Vehiculo_Modelo]='" + txtUpModelo.Text + "', "
                                   + "[Vehiculo_ValorComercial]=" + txtUpValorComercial.Text + ", "
                                   + "[Vehiculo_CantidadAdeudo]=" + txtUpCantidadAdeudo.Text + ", "
                                   + "[Vehiculo_Plazo]=" + txtUpPlazo.Text + ", "
                                   + "[Vehiculo_PagoMensual]=" + txtUpPagoMensual.Text + " "
                                   + "WHERE [IdVehiculos] = " + IdVehiculos.Text + " AND [Folio]=" + Convert.ToInt32(Folio) + ";";//Poner el folio de la sesion;
            VehiculosDataSource.UpdateCommand = updateCommand;
        }
        else if (e.CommandName == "Delete")
        {
            TextBox IdVehiculos = (TextBox)e.Item.FindControl("txtUpIdVehiculos");
            string deleteCommand = "DELETE FROM [Vehiculos] WHERE [IdVehiculos]=" + Convert.ToInt32(IdVehiculos.Text);
            VehiculosDataSource.DeleteCommand = deleteCommand;
        }
    }

    protected void SqlDataSource1_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
    {
        e.Command.CommandText = "SELECT * FROM [Propiedades] WHERE Folio = '" + Folio + "';";
    }

    protected void SqlDataSource2_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
    {
        e.Command.CommandText = "SELECT * FROM [Vehiculos] WHERE Folio = '" + Folio + "';";
    }

    protected void Guardar_Click(object sender, EventArgs e)
    {
        Response.Redirect("~/Forma/Forma6.aspx");
    }

    /* Valida que la sesión del usuario sea la correcta para mostrar
    *  el contenido de esta página
    */
    protected void SessionValidation()
    {
        SessionID = (String)Session["SessionID"];
        String UserType = (String)Session["UserType"];

        if (String.IsNullOrEmpty(SessionID) || String.IsNullOrEmpty(UserType))
        {
            Session.RemoveAll();
            Response.Redirect("~/Default.aspx");
        }
        else
        {
            if (!String.Equals(UserType, "Alumnos"))
            {
                Session.RemoveAll();
                Response.Redirect("~/Default.aspx");
            }
        }
    }
}